The present invention relates generally to maintaining data integrity and, more particularly, to maintaining data integrity over multiple applications.
Often times, the same information resides in multiple places (e.g., documents, applications, files, messages, presentations, spreadsheets, calendars, etc.) on a user's computer and other devices (e.g., smartphone, tablet, laptop computer, etc.). When a change needs to be made to the information, it is cumbersome to remember and re-locate all the places the information has been used in order to update the information. As an example, if a user schedules a meeting via email with a customer at a particular time and location, and then the meeting is added to the user's work calendar, personal calendar, and communicated to another user over an instant messaging application to invite the other user to the meeting, the time and location of the meeting has now been repeated in four distinct places. In this example, the instant messaging application is utilized by the user to reschedule the time of the meeting with the customer, a telephone call is utilized to change the time of the meeting with the customer, and the user updates the user's work calendar to reflect the new meeting time. However, in this example, if the user forgets to update the meeting time in the user's personal calendar, this creates opportunity for confusion and mistakes (e.g., missing the meeting).
The propagation of the new meeting time may be even more complicated when the meeting information is recorded in a non-calendar type of application. For example, if the meeting is referenced in a presentation file, on a blog, on a wiki, etc., it may quickly become difficult to keep track of all of the places the information needs to be updated. Furthermore, typographical errors can compound the problem of propagating information through various applications and tools. For example, if the user accidently inputs the wrong meeting time into one of the user's calendars, the opportunity for errors (e.g., missed meetings) increases.
There are multiple server-centric data integrity solutions that synchronize calendar entries across different devices and allow for users to share calendar entries across different sets of users and devices. However, these types of solutions do not solve the problem of updating information entered outside of server-provided applications, such as information in blog entries and chat sessions.
There are also data integrity solutions that recognize that certain types of information have been received or entered (e.g., dates, times, addresses), and automatically propagate or facilitate the propagation of the information into calendar entries, contact lists, or the like. However, these types of solutions work for single devices, and do not attempt to synchronize or coordinate different entries of the information. Instead, these solutions facilitate the transfer of information from one entry (e.g., email) into a store (i.e., calendar).